﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Clases;
using DevExpress.Web.ASPxEditors;
using Datos;

namespace Trade
{
    public partial class WebForm6 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            clsUsuario user = new clsUsuario();
            user = Llenar_Clase_Sesion();

            if (Llenar_Controles(user))
            {
                btnGrabar.Enabled = true;
            }


        }


        public bool Llenar_Controles(clsUsuario usuario)
        {
            try
            {
                //ASPxTextBox txtPaterno = (ASPxTextBox)grid_Proveedores.FindEditFormTemplateControl("txtPaterno");
                ((ASPxTextBox)nvbUsuario.Groups[0].FindControl("txtUserName")).Text = Convert.ToString(usuario.NombreUsuario);
                ((ASPxTextBox)nvbUsuario.Groups[0].FindControl("txtName")).Text = Convert.ToString(usuario.Nombre);
                ((ASPxTextBox)nvbUsuario.Groups[0].FindControl("txtEmail")).Text = Convert.ToString(usuario.Correo);
                ((ASPxTextBox)nvbUsuario.Groups[0].FindControl("txtPhone")).Text = Convert.ToString(usuario.Telefono);
                return true;
            }
            catch (Exception e)
            {
                Console.WriteLine("Error al llenar los controles de la Orden " + e);
                return false;
            }
        }

        public clsUsuario Llenar_Clase_Sesion()
        {
            clsUsuario user = new clsUsuario();

            user.Codigo = Convert.ToDecimal(Session["CodigoUsuario"]);
            user.NombreUsuario = Convert.ToString(Session["NombreLog"]);
            user.Nombre = Convert.ToString(Session["NombreUsuario"]);
            user.Correo = Convert.ToString(Session["CorreoUsuario"]);
            user.Telefono = Convert.ToString(Session["Telefono"]);


            return user;
        }

        public clsUsuario Llenar_Clase()
        {
            clsUsuario user = new clsUsuario();
            user.Codigo = Convert.ToDecimal(Session["CodigoUsuario"]);

            user.NombreUsuario = ((ASPxTextBox)nvbUsuario.Groups[0].FindControl("txtUserName")).Text;
            user.Nombre = ((ASPxTextBox)nvbUsuario.Groups[0].FindControl("txtName")).Text;
            user.Correo = ((ASPxTextBox)nvbUsuario.Groups[0].FindControl("txtEmail")).Text;
            user.Telefono = ((ASPxTextBox)nvbUsuario.Groups[0].FindControl("txtPhone")).Text;
            String NuevaClave = ((ASPxTextBox)nvbUsuario.Groups[0].FindControl("txtConfirmNew")).Text;
            String Clave = ((ASPxTextBox)nvbUsuario.Groups[0].FindControl("txtPassword")).Text;
            String SessionClave = Convert.ToString(Session["Clave"]);
            if (NuevaClave != null & Clave == SessionClave)
            {
                user.Clave = NuevaClave;
            }
            if (Clave == SessionClave & NuevaClave == null)
            {
                user.Clave = Clave;
            }
            else
            {
                user.Clave = SessionClave;
            }

            return user;

        }

        protected void btnCancel_Click(object sender, EventArgs e)
        {
            Response.Redirect("Home.aspx", true);
        }

        protected void btnGrabar_Click(object sender, EventArgs e)
        {
            clsUsuario user = new clsUsuario();
            user = Llenar_Clase();
            datUsuarios datUser = new datUsuarios();
            if (datUser.Actualizar_Usuario(user))
            {
                ((ASPxLabel)nvbUsuario.Groups[0].FindControl("lblMensaje")).Text = "User has been updated successfully";
                ((ASPxLabel)nvbUsuario.Groups[0].FindControl("lblMensaje")).Visible = true;
            }
            else
            {
                ((ASPxLabel)nvbUsuario.Groups[0].FindControl("lblMensaje")).Text = "Error";
                ((ASPxLabel)nvbUsuario.Groups[0].FindControl("lblMensaje")).Visible = true;
            }
        }
    }
}